1. Field of the Invention
The present invention relates in general to data processing systems and, in particular, to a data processing system and method including a hard disk drive having a primary partition. Still more particularly, the present invention relates to a data processing system and method including a hard disk drive for booting a virtual floppy diskette image from the primary partition of the hard drive.
2. Description of the Related Art
Personal computer systems are well known in the art. They have attained widespread use for providing computer power to many segments of today""s modern society. Personal computers (PCs) may be defined as a desktop, floor standing, or portable microcomputer that includes a system unit having a central processing unit (CPU) and associated volatile and non-volatile memory, including random access memory (RAM) and basic input/output system read only memory (BIOS ROM), a system monitor, a keyboard, one or more flexible diskette drives, a CD-ROM drive, a fixed disk storage drive (also known as a xe2x80x9chard drivexe2x80x9d), a pointing device such as a mouse, and an optional network interface adapter. One of the distinguishing characteristics of these systems is the use of a mother board or system planar to electrically connect these components together. Examples of such personal computer systems are IBM""s PC 300 series, Aptiva series, and Intellistation series.
With personal computer systems, there are numerous low level devices which contain firmware that require updating after they have already been installed at a customer site. Examples of such firmware include FLASH BIOS, SCSI devices, IDE devices, RAID adapters, systems management adapters, etc. The current solution today is to execute these updates locally from floppy diskettes. This is a very laborious task because a customer may have many computer systems, each geographically separated by miles.
If the computer systems are coupled together in a network, a server computer system could manage the updates remotely with appropriate scheduling. However, this remote maintenance solution is difficult to accomplish. Each computer system coupled to a network could be executing different operating systems. Each computer system should be permitted to keep running its native operating system with minimal interruption to its availability for users during the updating of the computer""s firmware.
In order to be able to update a client computer system remotely from a server, an update for each hardware type must be designed and coded. This requires a significant amount of designing, coding, and testing for each update for each possible operating system. For example, if six different hardware types need to be updated on a client computer system running six different operating systems, thirty-six updates must be designed, coded, and tested.
A personal computer system includes a hard disk drive. FIG. 1 depicts a disk drive 12 and a disk 10 in accordance with the prior art. Disk 10 illustrates physical characteristics of both floppy and hard disks. Disk 10 includes a number of concentric data cylinders such as cylinder 14. Cylinder 14 includes several data sectors, such as sectors 16 and 18. Sectors 16 and 18 are located on an upper side 20 of disk 10. Additional sectors may be located on a lower side 22 of disk 10. Sides 20 and 22 of disk 10 define a platter 24. A hard disk may contain several platters. Upper side 20 of disk 10 is accessed by a head 26 mounted on an arm 28 secured to drive 12. A given sector on disk 10 may be identified by specifying a head, a cylinder, and a sector within the cylinder.
In a personal computer system, the hard disk drive may be divided into separate partitions. A different partition is required for each operating system stored on the drive. A different file system may be defined by each partition. Often, however, the drive includes only one partition. Therefore, for a computer system having only one partition, only one operating system may exist on the drive.
A computer system may be booted from a floppy drive, the system""s hard drive, or other drive such as a CD ROM drive. When the computer system is powered on, the system first determines whether there is a boot able floppy disk in the floppy drive. If such a boot able disk is inserted in the floppy drive, the computer system will boot from this floppy disk. If no such boot able disk is inserted, the system will then attempt to boot from the hard drive.
A master boot record (MBR) is included on the first sector of either the hard drive or bootable floppy disk within which is stored a partition table. The partition table describes the number of partitions for the disk as well as information about the size and location of each partition. The master boot record also includes a program that reads the primary partition which contains the operating system to be booted into RAM. The primary partition is the active partition, i.e. the partition which includes the operating system which will be booted.
Applications exist today which allow a file to be created which contains an image of a floppy diskette. The file may be stored on a hard disk drive. The file must not be compressed and should be sized equal to the storage size of the floppy diskette.
Therefore a need exists for a data processing system and method including a hard disk drive having a primary partition which includes a virtual boot able floppy image, where the floppy image may not be readable by the native operating system of the data processing system, and where the system""s original file system is undisturbed.
A data processing system and method are described for booting a computer system from a virtual floppy diskette. A native operating system is executed by the computer system which utilizes a native file system. A bootable floppy diskette image is stored on the hard drive. The image is a second operating system which utilizes a second file system. A master boot record stored on the hard drive is modified to include a boot bit. The boot bit is set in response to a storage of the image. The computer system is then booted from the image in response to the boot bit being set. The native operating system and the native file system are unchanged during the booting of the computer system from the image.